using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PACKETPARSERMAX20.CORE;

namespace PACKETPARSERMAX20.CORE.DEFINITIONS
{
    public class CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK_DEF : MovementInfoBase
    {

        //public override bool Process()
        //{
        //    long current_position = base.Stream.Position;

        //    ProcessInternal(current_position);

        //    return Validate();
        //}

        //public override bool Process(uint pParentOpcode, uint opcode, long pPosition, long pSize)
        //{
        //    base.SetCustomPositionAndSize(pPosition, pSize);
        //    ProcessInternal(pPosition);

        //    return ValidateMovementOpcode(pParentOpcode.ToString(), pPosition, pSize);
        //}

        //private void ProcessInternal(long pCurrentPosition)
        //{
        //    base.Stream.Position = pCurrentPosition;

        //    MovementInfo movementInfo = new MovementInfo();

        //    movementInfo.guid = ReadUInt64();

        //    UInt32 unk1 = ReadUInt32();

        //    movementInfo.movementFlags = (MovementFlags)ReadUInt32();

        //    if (ClientBuild >= 9183)
        //    {
        //        movementInfo.unknown1 = ReadUInt16();// 2.3.0
        //    }
        //    else
        //    {
        //        movementInfo.unknown1 = ReadByte();// 2.3.0
        //    }
        //    movementInfo.timeStamp = ReadUInt32();

        //    movementInfo.positionInfo = ReadCoord4();

        //    if ((movementInfo.movementFlags & MovementFlags.MOVEFLAG_ONTRANSPORT) != 0)
        //    {
        //        movementInfo.transportInfo = ReadMovementTransport();
        //    }

        //    if (((movementInfo.movementFlags & (MovementFlags.MOVEFLAG_SWIMMING | MovementFlags.MOVEFLAG_FLYING2)) != 0) || ((movementInfo.unknown1 & 0x20) != 0))
        //    {
        //        movementInfo.swimPitch = ReadSingle();
        //    }

        //    movementInfo.fallTime = ReadUInt32();

        //    if ((movementInfo.movementFlags & MovementFlags.MOVEFLAG_JUMPING) > 0 || (movementInfo.movementFlags & MovementFlags.MOVEFLAG_FALLING) != 0)
        //    {
        //        movementInfo.jumpInfo = ReadMovementJump();
        //    }

        //    if ((movementInfo.movementFlags & MovementFlags.MOVEFLAG_SPLINE) > 0)
        //    {
        //        movementInfo.unknown2 = ReadSingle();
        //    }

        //    float flight_back_speed = ReadSingle();

        //    UpdateObjectPosition(movementInfo);
        //}
    }
}

